package realQuestion.threeQuick;

import java.util.Scanner;


//小美的整数
//        时间限制： 3000MS内存限制： 589824KB
//        题目描述：
//        小美有两个数字，其中第一个数字是任意的正整数，第二个数字是一位仅可能为0到9间的整数。小美希望能将第二个插入第一个数字中，以得到最大的数字。具体可参见输入输出样例。
//        输入描述
//        单个测试用例包含T组数据
//        第一行一个数字表示T
//        对于每一组数据，包含一行有2个空格隔开的整数，表示任意正整数a和待插入的数字b。
//        1≤T≤10, 1≤a≤1050000, 0≤b≤9
//        输出描述
//        对于每组数据，输出一行，包括一个整数，得到的最大整数。
//        样例输入
//        4
//        76543 4
//        1 0
//        44 5
//        666 6
//        样例输出
//        765443
//        10
//        544
//        6666
public class Test1 {

    public static int  find(int a, int b){

        //  CKG TODO 2023/5/15:　　方法一：下面是考试的时候的做题过程　太过麻烦　耗时太多　后面的题目也没有做完
//        StringBuilder sb= new StringBuilder();

//        boolean flag=true;
//        int cur=a;
//        while (cur>0){
//            int temp=cur%10;
//
//            sb.append(temp);
//            cur=cur/10;
//        }

//        for (int i = sb.length()-1; i >=0 ; i--) {
//            if (b>= sb.charAt(i)-'0'&&flag){
//             sb.insert(i+1,b);
//                flag=false;
//            }
//        }
//        if (flag){
//            sb.append(b);
//            if (b==0){
//                return a*10;
//            }
//        }
//        sb.reverse();
//        String s = sb.toString();
//        return  Integer.valueOf(s);


       boolean flag=true;
        StringBuilder sb= new StringBuilder(String.valueOf(a));
        for (int i = 0; i < sb.length(); i++) {
            if (b>=sb.charAt(i)-'0'&&flag){
                sb.insert(i,b);
                flag=false;
                break;
            }
        }
        if (flag){
            sb.append(b);
        }
        String s = sb.toString();
          return   Integer.valueOf(s);


    }


    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s1 = scanner.nextLine();
        int count=Integer.valueOf(s1);
        int[][] sample=new int[count][2];
        for (int i = 0; i < count; i++) {
            String s = scanner.nextLine();
            String[] strings = s.split("\\s");
            sample[i][0]=Integer.valueOf(strings[0]);
            sample[i][1]=Integer.valueOf(strings[1]);
        }

        for (int i = 0; i < count; i++) {
            System.out.println(find(sample[i][0], sample[i][1]));
        }

    }


}
